import request from '@/config/axios'

// 公告 VO
export interface NewsVO {
  id: number // 编号
  newsTitle: string // 公告标题
  iconUrl: string // 图标
  newsType: string // 分类
  userIds: string[] // 公告范围
  newsContent: string // 公告内容
  fileUrls: string[] // 附件地址
  sort: number // 排序
  status: number // 状态
  userName: string //创建者
  userNames: string[] //公告范围
  createTime: Date // 创建时间
  updateTime: Date // 创建时间
}

// 公告 API
export const NewsApi = {
  // 查询公告分页
  getNewsPage: async (params: any) => {
    return await request.get({ url: `/school/news/page`, params })
  },

  // 查询公告详情
  getNews: async (id: number) => {
    return await request.get({ url: `/school/news/get?id=` + id })
  },

  // 新增公告
  createNews: async (data: NewsVO) => {
    return await request.post({ url: `/school/news/create`, data })
  },

  // 修改公告
  updateNews: async (data: NewsVO) => {
    return await request.put({ url: `/school/news/update`, data })
  },

  // 删除公告
  deleteNews: async (id: number) => {
    return await request.delete({ url: `/school/news/delete?id=` + id })
  },

  // 导出公告 Excel
  exportNews: async (params) => {
    return await request.download({ url: `/school/news/export-excel`, params })
  }
}
